import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisThreadPoolDemo {
    private static JedisPool jedisPool;

    static {
        // 配置连接池
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        poolConfig.setMaxTotal(10); // 设置最大连接数
        poolConfig.setMaxIdle(5);   // 设置最大空闲连接数
        poolConfig.setMinIdle(1);   // 设置最小空闲连接数
        poolConfig.setTestOnBorrow(true); // 借用连接时进行测试

        // 初始化连接池
        jedisPool = new JedisPool(poolConfig, "localhost", 8888, 2000); // 如果有密码，请填写
    }

    public static void main(String[] args) {
        // 使用连接池获取Jedis实例
        try (Jedis jedis = jedisPool.getResource()) {
            // 测试连接是否正常
            System.out.println("连接成功: " + jedis.ping());

            // 进行Redis操作
            jedis.set("key", "value");
            String value = jedis.get("key");
            System.out.println("Stored value in Redis: " + value);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭连接池
            if (jedisPool != null) {
                jedisPool.close();
            }
        }
    }
}
